# $Id$
# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Andreas Radke <andyrtr@archlinux.org>

pkgname=nvidia-304xx-lts
pkgver=304.137
_extramodules=extramodules-4.9-lts
pkgrel=1
pkgdesc="NVIDIA drivers for linux-lts, 304xx legacy branch"
arch=('i686' 'x86_64')
url="http://www.nvidia.com/"
depends=('linux-lts>=4.9.51' "nvidia-304xx-utils=${pkgver}")
makedepends=('linux-lts-headers>=4.9.51')
conflicts=('nvidia-lts' 'nvidia-96xx-lts' 'nvidia-173xx-lts')
provides=('nvidia-304xx')
license=('custom')
install=nvidia-304xx-lts.install
options=('!strip')
#source_i686=("http://us.download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run")
#source_x86_64=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run")
#sha512sums_i686=('3e67c40648554dc49472081eee88ae982c3b235b3346e4d9e7fb5ae33ec5f10ed088da804ac7d8bd1565995df3861f12b3560030cd3a19339a2d35768b0a943e')
#sha512sums_x86_64=('07e529e4e81c42b43861475029aa0f223f8f3d299be9ddfe820c583e26aae49223a9b0dfee6d66ab09c526554bb581e5f8cf755eda600cb9e0bdac7d5f4acb93')

source=("http://us.download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run"
        "http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run"
        disable-mtrr.patch)
sha512sums=('021c5a88d50489aa0a1c7eac14259e23542b93578ae339995a2e38b786d06d239968c07933cab3fb78a922cffc7e213d6fa3fe07e34065a9c7f03e24f8729370'
            '4ab648647e4f3e2c352b2eab6454c264fe4728d8eb1264fafee2a4ab1a4ce59516abcf8490044d31e35309ea951e564cc217e13f7139a48bbf650a4238c5b87c'
            '54e8825e523f11706890e09e476498f3a30f75ce4e350ff2ff8a1e1c3af574d9ccfb8903543766b6863d94cdfbf46e68cd3d33380867dd976cafc8dd2dd78774')


if [ "$CARCH" = "i686" ]; then
  _arch='x86'
  _pkg="NVIDIA-Linux-${_arch}-${pkgver}"
elif [ "$CARCH" = "x86_64" ]; then
  _arch='x86_64'
  _pkg="NVIDIA-Linux-${_arch}-${pkgver}-no-compat32"
fi

prepare() {
    cd "${srcdir}"
    sh "${_pkg}.run" --extract-only
    cd "${_pkg}"
    # patches here

    # FS#47092
    #(cd kernel; patch -p1 --no-backup-if-mismatch -i "$srcdir"/disable-mtrr.patch)
}

build() {
    _kernver="$(cat /usr/lib/modules/${_extramodules}/version)"
    cd "${_pkg}/kernel"
    make SYSSRC=/usr/lib/modules/"${_kernver}/build" module
}

package() {
    install -D -m644 "${srcdir}/${_pkg}/kernel/nvidia.ko" \
        "${pkgdir}/usr/lib/modules/${_extramodules}/nvidia.ko"
    install -d -m755 "${pkgdir}/usr/lib/modprobe.d"
    echo "blacklist nouveau" >> "${pkgdir}/usr/lib/modprobe.d/nvidia-304xx-lts.conf"
    echo "blacklist nvidiafb" >> "${pkgdir}/usr/lib/modprobe.d/nvidia-304xx-lts.conf"
    gzip "${pkgdir}/usr/lib/modules/${_extramodules}/nvidia.ko"
    install -D -m644 ${_pkg}/LICENSE "${pkgdir}/usr/share/licenses/nvidia-304xx-lts/LICENSE"
}
